package com.xujie.chat.kryocodec;

import io.netty.buffer.ByteBuf;
import io.netty.channel.ChannelHandlerContext;
import io.netty.handler.codec.MessageToByteEncoder;

/**
 * @author Mark老师
 * 类说明：序列化的Handler
 */
public class KryoEncoder extends MessageToByteEncoder<Object> {
    @Override
    protected void encode(ChannelHandlerContext ctx, Object msg, ByteBuf out) throws Exception {
        byte[] serializedData = KryoSerializer.serialize(msg); // 使用 Kryo 序列化对象
        out.writeInt(serializedData.length); // 写入数据长度
        out.writeBytes(serializedData);      // 写入数据
    }
}
